#ifndef SERIALPORTSET_H
#define SERIALPORTSET_H

#include <QObject>
#include <QtSerialPort/QSerialPort>
#include <QtSerialPort/QSerialPortInfo>
#include "byteset.h"
class serialPortSet : public QObject
{
    Q_OBJECT
public:
    static serialPortSet *Instance();
    explicit serialPortSet();

    bool openSerialPort();//打开串口
    void sendInit2Com();    //初始化指令
    void sendStart2Com();   //开始指令
    void sendStop2Com();    //停止指令
    void sendSampleInfo2Com();//样品参数指令
    void sendSystemInfo2Com();//系统参数指令
    void sendAppendInfo2Com();//已补充样品指令
    void sendCleanInfo2Com();//已清理料斗指令
    //校准
    void sendCaliZero2Com();//校准零点（第一步）
    void sendStandardValue2Com();//校准标准值
    void sendCaliCancle2Com();//取消校准
    void sendCaliSuccess2Com();//校准完成指令
    void sendCaliCheck2Com();//校准验证
    //单步调试
    void send01on();
    void send01off();
    void send02on();
    void send02off();
    void send03on();
    void send03off();
    void send04on();
    void send04off();
    void send05on();
    void send05off();
    void send06on();
    void send06off();
    void send07on();
    void send07off();
    void send08on();
    void send08off();
    void send09on();
    void send09off();
signals:
    void getList2Byte(QStringList);
    void readyRead();
    void caliRead();
    void initFailed();
    void initCaliFailed();
private:
    static serialPortSet *self; //对象自身
public:
    QSerialPort *serial;
    ByteSet *bytes;

};

#endif // SERIALPORTSET_H
